<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>DROP FUNCTION</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 9.1.2 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="SQL Commands"
HREF="sql-commands.html"><LINK
REL="PREVIOUS"
TITLE="DROP FOREIGN TABLE"
HREF="sql-dropforeigntable.html"><LINK
REL="NEXT"
TITLE="DROP GROUP"
HREF="sql-dropgroup.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-1"><META
NAME="creation"
CONTENT="2011-12-01T22:07:59"></HEAD
><BODY
CLASS="REFENTRY"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="5"
ALIGN="center"
VALIGN="bottom"
><A
HREF="index.html"
>PostgreSQL 9.1.2 Documentation</A
></TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
TITLE="DROP FOREIGN TABLE"
HREF="sql-dropforeigntable.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="sql-commands.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="20%"
ALIGN="right"
VALIGN="top"
><A
TITLE="DROP GROUP"
HREF="sql-dropgroup.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="SQL-DROPFUNCTION"
></A
>DROP FUNCTION</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN70529"
></A
><H2
>Name</H2
>DROP FUNCTION&nbsp;--&nbsp;remove a function</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN70534"
></A
><H2
>Synopsis</H2
><PRE
CLASS="SYNOPSIS"
>DROP FUNCTION [ IF EXISTS ] <TT
CLASS="REPLACEABLE"
><I
>name</I
></TT
> ( [ [ <TT
CLASS="REPLACEABLE"
><I
>argmode</I
></TT
> ] [ <TT
CLASS="REPLACEABLE"
><I
>argname</I
></TT
> ] <TT
CLASS="REPLACEABLE"
><I
>argtype</I
></TT
> [, ...] ] )
    [ CASCADE | RESTRICT ]</PRE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN70540"
></A
><H2
>Description</H2
><P
>   <TT
CLASS="COMMAND"
>DROP FUNCTION</TT
> removes the definition of an existing
   function. To execute this command the user must be the
   owner of the function. The argument types to the
   function must be specified, since several different functions
   can exist with the same name and different argument lists.
  </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN70544"
></A
><H2
>Parameters</H2
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="LITERAL"
>IF EXISTS</TT
></DT
><DD
><P
>      Do not throw an error if the function does not exist. A notice is issued
      in this case.
     </P
></DD
><DT
><TT
CLASS="REPLACEABLE"
><I
>name</I
></TT
></DT
><DD
><P
>      The name (optionally schema-qualified) of an existing function.
     </P
></DD
><DT
><TT
CLASS="REPLACEABLE"
><I
>argmode</I
></TT
></DT
><DD
><P
>      The mode of an argument: <TT
CLASS="LITERAL"
>IN</TT
>, <TT
CLASS="LITERAL"
>OUT</TT
>,
      <TT
CLASS="LITERAL"
>INOUT</TT
>, or <TT
CLASS="LITERAL"
>VARIADIC</TT
>.
      If omitted, the default is <TT
CLASS="LITERAL"
>IN</TT
>.
      Note that <TT
CLASS="COMMAND"
>DROP FUNCTION</TT
> does not actually pay
      any attention to <TT
CLASS="LITERAL"
>OUT</TT
> arguments, since only the input
      arguments are needed to determine the function's identity.
      So it is sufficient to list the <TT
CLASS="LITERAL"
>IN</TT
>, <TT
CLASS="LITERAL"
>INOUT</TT
>,
      and <TT
CLASS="LITERAL"
>VARIADIC</TT
> arguments.
     </P
></DD
><DT
><TT
CLASS="REPLACEABLE"
><I
>argname</I
></TT
></DT
><DD
><P
>      The name of an argument.
      Note that <TT
CLASS="COMMAND"
>DROP FUNCTION</TT
> does not actually pay
      any attention to argument names, since only the argument data
      types are needed to determine the function's identity.
     </P
></DD
><DT
><TT
CLASS="REPLACEABLE"
><I
>argtype</I
></TT
></DT
><DD
><P
>      The data type(s) of the function's arguments (optionally
      schema-qualified), if any.
     </P
></DD
><DT
><TT
CLASS="LITERAL"
>CASCADE</TT
></DT
><DD
><P
>      Automatically drop objects that depend on the function (such as
      operators or triggers).
     </P
></DD
><DT
><TT
CLASS="LITERAL"
>RESTRICT</TT
></DT
><DD
><P
>      Refuse to drop the function if any objects depend on it.  This
      is the default.
     </P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="SQL-DROPFUNCTION-EXAMPLES"
></A
><H2
>Examples</H2
><P
>   This command removes the square root function:

</P><PRE
CLASS="PROGRAMLISTING"
>DROP FUNCTION sqrt(integer);</PRE
><P></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="SQL-DROPFUNCTION-COMPATIBILITY"
></A
><H2
>Compatibility</H2
><P
>   A <TT
CLASS="COMMAND"
>DROP FUNCTION</TT
> statement is defined in the SQL
   standard, but it is not compatible with this command.
  </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN70601"
></A
><H2
>See Also</H2
><A
HREF="sql-createfunction.html"
>CREATE FUNCTION</A
>, <A
HREF="sql-alterfunction.html"
>ALTER FUNCTION</A
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="sql-dropforeigntable.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="sql-dropgroup.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DROP FOREIGN TABLE</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="sql-commands.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DROP GROUP</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>